A traditional matched filter correlates a known signal or function (the “template” or “reference”) with an unknown signal in the presence of noise to detect and select (match) the presence of the unknown signal from the reference set. One common application of matched filters is in radar systems, in which a known signal is transmitted, and in which the reflected signal received by the radar system is matched against the originally-transmitted known signal.
The concept of matched filters was first introduced by North in 1943 to increase the signal-to-noise (SNR) ratio in early telecommunications applications, although the modern name wasn't used until a 1960 paper by Turin. The current state-of-the-art, Principe's correntropy matched filter, is a nonlinear extension to the classical matched filter (International Patent WO 2007/027839 A2).
Traditional matched filters typically produce a numeric output that describes the similarity between the reference and the unknown signal. Often, a threshold function is applied to this numeric output such that the final result represents a “match/no-match” result for the comparison.
One common application of the matched filter in the area of machine vision is for the computation of optical flow. Optical flow (OF) is a measurement of the apparent velocities of brightness patterns between images in a sequence (Horn and Schunck 1981). The most common type of input image sequence in embedded “machine vision” applications is a sequence of time-ordered frames from live or recorded video. Optical flow in an image sequence results from changes in camera pose or changes in the environment, such as the motion of an object in the scene, or dynamically varying lighting conditions. The traditional output of the OF algorithm is a vector field showing the magnitude and direction of the optical flow of the input image sequence. In general, the vector field consists of one or more vectors representing the flow measured at locations within the input data coordinate space. Individual flow vectors can have one or more dimensions, depending on the input data. For optical flow measurements of an image sequence sourced from live video, the origin of the vector indicates the position of the OF sample (i.e. measurement) in the source image space, and the magnitude/direction of the vector provides the magnitude and displacement of the optical flow field at the sample position.
Many classification systems for classes of optical flow algorithm exist. One widely accepted approach divides OF algorithms into five classes (Beauchemin and Barron 1995): intensity-based differential methods, correlation-based methods, frequency-based differential methods, multiple motion methods, and temporal refinement methods. Alternately, OF algorithms can be classified as “classical” or “real-time” to differentiate according to the speed at which the data is processed. In the latter classification scheme, “real-time” implies that processing occurs as the images are input to the system, and that the processing output is made available after some short processing delay. Furthermore, the application will provide a constraint on the maximum allowed delay between data input and optical flow output. By contrast, a “classical” optical flow algorithm has no time constraint for the processing. Short times are always better, but long times are acceptable if justified by performance. This alternate classification scheme is most frequently used when dealing with real-time embedded applications; for these apps, only real-time OF algorithms are of any use. Although “real-time” sometimes is defined as being ˜30 Hz (due to influence from traditional video frame rates), there is no single agreed-upon quantitative definition for the term “real-time.”
The most famous optical flow algorithm is the KLT feature tracker, which was originally described in the work of Lucas and Kanade (Lucas and Kanade 1981) and fully developed by Tomasi and Kanade (Tomasi and Kanade 1991). Historically, a key problem in the computation of flow is the identification of reliable features to track. This problem is addressed in a classical work by Shi and Tomasi (Shi and Tomasi 1994), where metrics were developed to identify “good features to track”, which were regions of the image that were likely to be suitable for making a reliable optical flow measurement. Additionally, Shi and Tomasi 1994 presented an affine motion model for the motion of the features within an image, which provided improved performance compared to the simpler translational model. The KLT feature tracker is well understood by optical flow experts. It is traditionally classified as a classical OF algorithm, but it can be implemented in real-time for some applications using modern embedded hardware, with reasonably good performance. Since it is well understood and since optical flow algorithms also contain matched filters, KLT will be used herein as an OF algorithm baseline for comparison to embodiments of the inventive methods.
A mission- or safety-critical system is one where correct and safe operation of a signal processing subsystem strongly influences the performance/behavior of the system as a whole. For safety-critical subsystems, the performance of the system is directly related to human safety. Modern real-time mission- and safety-critical systems must impose application-specific requirements on underlying signal processing sub-components in order to ensure that the algorithms meet the needs of the system. Unfortunately, challenging or harsh signal processing environments are common in extreme applications, and these can lead to algorithm behavior that violates the design specification. This out-of-spec behavior is called a “signal processing fault” when it occurs in signal processing algorithms like the matched filter or optical flow.
Signal processing faults are a significant problem for small form-factor mission- or safety-critical embedded systems. Faults that occur in low-level signal processing layers in this type of system have increased likelihood to induce faults in higher-level signal processing, eventually leading to the failure of the system as a whole. In a safety-critical system, such failures can lead to property damage, injury, and even death. Unfortunately, the size, weight, and power consumption restrictions typically imposed on small form-factor embedded electronics impose severe limits on the fault detection methods that can be used.